Parallel Visual Radio Station Selection

ABSTRACT

A computer implemented method in a data processing system and a computer program product enable visual selection of a media signal. A set of media signals is received from a set of media providers. A subject matter and a performer of the subject matter are then identified for at least one of the set of media signals. A set of icons is then identified. Each of the set of icons corresponds to at least one of media signals. The set of icons and the set of media providers are then forwarded to a client media player.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to computer implemented methodsin a data processing system and computer program products. Morespecifically, the present invention relates to computer implementedmethods in a data processing system and computer program products forenabling visual selection of a media signal.

2. Description of the Related Art

People are inundated with a multitude of media options, and selectingcontent from those options is typically done on a haphazard,trial-and-error basis. When listening to a radio, a user is generallyrelegated to manually scanning each station to determine whether thecontent on that station is desirable. The advent of digital radio andsatellite radio only compound this problem by exponentially increasingthe number of available media signals and providers.

When watching television, one can manually scan the available channels,or can rely on a text description, of the available programming. Cable,satellite, and other providers of television services again onlyincrease the amount of time spent in attempting to find satisfactoryprogramming.

Internet sites are also implementing more streaming content. WithInternet sites more frequently hosting live events and live broadcastingof streaming data, there is no easy visual method for a user todetermine the current content for that streaming data. A user must loadcontent for each site in a separate browser, or must sequentially visita multitude of sites in order to find desired programming.

SUMMARY OF THE INVENTION

A computer implemented method in a data processing system and a computerprogram product are provided for enabling visual selection of a mediasignal. A set of media signals is received from a set of mediaproviders. A subject matter and a performer of the subject matter arethen identified for at least one of the set of media signals. A set oficons is then identified. Each of the set of icons corresponds to atleast one of media signals. The set of icons and the set of mediaproviders are then forwarded to a client media player.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objectives and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 is a pictorial representation of a network of data processingsystems in which illustrative embodiments may be implemented;

FIG. 2 is a block diagram of a data processing system in whichillustrative embodiments may be implemented;

FIG. 3 is a block diagram of data flow between the various components inaccordance with an illustrative embodiment;

FIG. 4 is a data structure containing reference signals according to anillustrative embodiment;

FIG. 5 is a data structure containing reference icons according to anillustrative embodiment;

FIG. 6 is a data structure containing preferred media providers for aclient according to an illustrative embodiment;

FIG. 7 is a flowchart showing the processing steps for determining a setof characteristics of media signals according to an illustrativeembodiment;

FIG. 8 is a simplified flowchart showing the processing steps forproviding a parallel visual media station selection according to anillustrative embodiment; and

FIG. 9 is a detailed flowchart showing the processing steps forproviding a parallel visual media station selection according to anillustrative embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference now to the figures and in particular with reference toFIGS. 1-2, exemplary diagrams of data processing environments areprovided in which illustrative embodiments may be implemented. It shouldbe appreciated that FIGS. 1-2 are only exemplary and are not intended toassert or imply any limitation with regard to the environments in whichdifferent embodiments may be implemented. Many modifications to thedepicted environments may be made.

FIG. 1 depicts a pictorial representation of a network of dataprocessing systems in which illustrative embodiments may be implemented.Network data processing system 100 is a network of computers in whichthe illustrative embodiments may be implemented. Network data processingsystem 100 contains network 102, which is the medium used to providecommunications links between various devices and computers connectedtogether within network data processing system 100. Network 102 mayinclude connections, such as wire, wireless communication links, orfiber optic cables.

In the depicted example, server 104 and server 106 connect to network102 along with storage unit 108. In addition, clients 110, 112, and 114connect to network 102. Clients 110, 112, and 114 may be, for example,personal computers or network computers. In the depicted example, server104 provides data, such as boot files, operating system images, andapplications to clients 110, 112, and 114. Clients 110, 112, and 114 areclients to server 104 in this example. Network data processing system100 may include additional servers, clients, and other devices notshown.

In the depicted example, network data processing system 100 is theInternet with network 102 representing a worldwide collection ofnetworks and gateways that use the Transmission ControlProtocol/Internet Protocol (TCP/IP) suite of protocols to communicatewith one another. At the heart of the Internet is a backbone ofhigh-speed data communication lines between major nodes or hostcomputers, consisting of thousands of commercial, governmental,educational, and other computer systems that route data and messages. Ofcourse, network data processing system 100 also may be implemented as anumber of different types of networks, such as for example, an intranet,a local area network (LAN), or a wide area network (WAN). FIG. 1 isintended as an example, and not as an architectural limitation for thedifferent illustrative embodiments.

With reference now to FIG. 2, a block diagram of a data processingsystem is shown in which illustrative embodiments may be implemented.Data processing system 200 is an example of a computer, such as server104 or client 110 in FIG. 1, in which computer usable program code orinstructions implementing the processes may be located for theillustrative embodiments. In this illustrative example, data processingsystem 200 includes communications fabric 202, which providescommunications between processor unit 204, memory 206, persistentstorage 208, communications unit 210, input/output (I/O) unit 212, anddisplay 214.

Processor unit 204 serves to execute instructions for software that maybe loaded into memory 206. Processor unit 204 may be a set of one ormore processors or may be a multi-processor core, depending on theparticular implementation. Further, processor unit 204 may beimplemented using one or more heterogeneous processor systems in which amain processor is present with secondary processors on a single chip. Asanother illustrative example, processor unit 204 may be a symmetricmulti-processor system containing multiple processors of the same type.

Memory 206 and persistent storage 208 are examples of storage devices. Astorage device is any piece of hardware that is capable of storinginformation either on a temporary basis and/or a permanent basis. Memory206, in these examples, may be, for example, a random access memory orany other suitable volatile or non-volatile storage device. Persistentstorage 208 may take various forms depending on the particularimplementation. For example, persistent storage 208 may contain one ormore components or devices. For example, persistent storage 208 may be ahard drive, a flash memory, a rewritable optical disk, a rewritablemagnetic tape, or some combination of the above. The media used bypersistent storage 208 also may be removable. For example, a removablehard drive may be used for persistent storage 208.

Communications unit 210, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 210 is a network interface card. Communications unit210 may provide communications through the use of either or bothphysical and wireless communications links.

Input/output unit 212 allows for input and output of data with otherdevices that may be connected to data processing system 200. Forexample, input/output unit 212 may provide a connection for user inputthrough a keyboard and mouse. Further, input/output unit 212 may sendoutput to a printer. Display 214 provides a mechanism to displayinformation to a user.

Instructions for the operating system and applications or programs arelocated on persistent storage 208. These instructions may be loaded intomemory 206 for execution by processor unit 204. The processes of thedifferent embodiments may be performed by processor unit 204 usingcomputer implemented instructions, which may be located in a memory,such as memory 206. These instructions are referred to as program code,computer usable program code, or computer readable program code that maybe read and executed by a processor in processor unit 204. The programcode in the different embodiments may be embodied on different physicalor tangible computer readable media, such as memory 206 or persistentstorage 208.

Program code 216 is located in a functional form on computer readablemedia 218 that is selectively removable and may be loaded onto ortransferred to data processing system 200 for execution by processorunit 204. Program code 216 and computer readable media 218 form computerprogram product 220 in these examples. In one example, computer readablemedia 218 may be in a tangible form, such as, for example, an optical ormagnetic disc that is inserted or placed into a drive or other devicethat is part of persistent storage 208 for transfer onto a storagedevice, such as a hard drive that is part of persistent storage 208. Ina tangible form, computer readable media 218 also may take the form of apersistent storage, such as a hard drive, a thumb drive, or a flashmemory that is connected to data processing system 200. The tangibleform of computer readable media 218 is also referred to as computerrecordable storage media. In some instances, computer recordable media218 may not be removable.

Alternatively, program code 216 may be transferred to data processingsystem 200 from computer readable media 218 through a communicationslink to communications unit 210 and/or through a connection toinput/output unit 212. The communications link and/or the connection maybe physical or wireless in the illustrative examples. The computerreadable media also may take the form of non-tangible media, such ascommunications links or wireless transmissions containing the programcode.

The different components illustrated for data processing system 200 arenot meant to provide architectural limitations to the manner in whichdifferent embodiments may be implemented. The different illustrativeembodiments may be implemented in a data processing system includingcomponents in addition to or in place of those illustrated for dataprocessing system 200. Other components shown in FIG. 2 can be variedfrom the illustrative examples shown.

As one example, a storage device in data processing system 200 is anyhardware apparatus that may store data. Memory 206, persistent storage208, and computer readable media 218 are examples of storage devices ina tangible form.

In another example, a bus system may be used to implement communicationsfabric 202 and may be comprised of one or more buses, such as a systembus or an input/output bus. Of course, the bus system may be implementedusing any suitable type of architecture that provides for a transfer ofdata between different components or devices attached to the bus system.Additionally, a communications unit may include one or more devices usedto transmit and receive data, such as a modem or a network adapter.Further, a memory may be, for example, memory 206 or a cache such as isfound in an interface and memory controller hub that may be present incommunications fabric 202.

The illustrative embodiments describe a computer implemented method in adata processing system, and a computer program product for visuallyselecting a media signal. A set of media signals is received from a setof media providers. A set of characteristics is then identified for atleast one of the set of media signals. A composite icon is thengenerated from the set of characteristics for at least one of the set ofmedia signals. The composite icon and the set of media providers arethen forwarded to a client media player.

Referring now to FIG. 3, a block diagram of data flow between thevarious components is shown in accordance with an illustrativeembodiment.

Media provider 310 transmits media signal 312. Media provider 310 is aprovider of any type such as, audio, visual, or electronic media,including for example, but not limited to, a television broadcast, aradio broadcast, a satellite transmission, and transmissions throughcable or optical connections. Media provider 310 can also be theprovider of an electronic data transmission, such as a live or streamingdata transmission over a network from a network site. Media signal 312is the signal that is transmitted by media provider 310. In oneillustrative embodiment, media signal 312 is a radio broadcast, andmedia provider 310 is the broadcaster of media signal 312.

Media signal 312 can optionally contain metadata 314. Metadata 314 isvisual media service provider 318, which is a data processing system fordelivering visual indicators to a client for selection of a specificmedia signal. Visual media service provider 318 is a data processingsystem, such as server 104 and server 106 of FIG. 1.

Data processing system 316 at visual media service provider 318 is adata processing system, such as server 104 and server 106 of FIG. 1.Data processing system 316 runs software applications to identifysubject matter and a performer of that subject matter for media signal312. Visual media service provider 318 is a service that provides avisual indication of media signal 312 to client 320.

Data processing system 316 receives media signal 312 from media provider310. Metadata identifier 322 is a software system executing on dataprocessing system 316 that checks for metadata 314 that may be includedwith media signal 312. In one illustrative example, metadata 314 can bedigital video broadcasting service information (DVB-SI) that includesinformation about media signal 312, including the identity of thesubject matter and the identity of the performer of that subject matter.As used herein, “subject matter” is an identification of the content ofthe media signal, such as a song or album title, a movie title, identityof a sporting event or other live event, and the like. The performer isthe person performing the subject matter. For example, in the case of asong or musical composition, the performer may be the composer of thecomposition, or the musicians performing the composition. In the case ofa talk show, the performer may include the moderator of the talk show aswell as the participants in the forum. In the case of a sporting event,the performer can include the athletes or teams participating in thesporting event.

Media comparison logic 324 is a software system executing on dataprocessing system 316 that, in the event that media signal 312 lacksmetadata 314, compares media signal 312 to reference signals in medialibrary 326. Media library 326 is a data storage containing referencesignals. If media signal 312 lacks metadata 314, media comparison logic324 compares media signal 312 to reference signals stored in medialibrary 326. Each reference signal has an associated subject matter andperformer. If media signal 312 is found to match one of the referencesignals, then the subject matter and performer associated with thereference signal is utilized as the subject matter and performer ofmedia signal 312.

For those media signals 312 that do not match a reference signal storedin media library, media comparison logic 324 can perform a statisticalcomparison of the media signal to a statistical database in order todetermine a probable subject matter and a probable performer. Mediacomparison logic 324 extracts various parameters from media signal 312.Media signal 312 is typically divided to frames, and each frameundergoes a short-time Fourier transformation, or other digitaltransformation, to create a spectral representation of media signal 312.Characteristics of the transformed media signal are isolated from eachof the transformed media signal frames, and compared to statisticalmodels of known subject matter and performers to determine similaritiesusing known statistical classification methods, such as K-nearestneighbor, Gaussian mixture modeling, support vector machines, vectorquantization, hidden Markov modeling, and multivariate auto-regressionmodeling. A probable subject matter and probable performer can then bedetermined.

In one illustrative embodiment, other features of the subject matter,such as a speaker's emotional state, background features of the mediasignal—such as applause—can also be extracted from the media signal andincorporated into the subject matter. Speech recognition can be used toconvert voice to text and then applying text analysis and topicdetection methods known in the art to identify the subject matter.

In one illustrative embodiment, media comparison logic 324 can accessinformation regarding media signal 312 from a network informationaldatabase. When media provider 310 is known, media comparison logic 324can retrieve a schedule of known programming from a networkinformational database of the media provider. The performer and thesubject matter of media signal 312 are then determined with theassistance of a network informational database of the known mediaprovider 310. This can be done either explicitly, if detailedinformation is available, or implicitly by narrowing down the comparisondomain of the media comparison logic.

Icon identification logic 328 is a software system executing on dataprocessing system 316 that identifies a visual indicator to representthe subject matter and performer of media signal 312. Iconidentification logic 328 receives the subject matter and performer ofmedia signal 312 from either metadata identifier 322 or media comparisonlogic 324. Icon identification logic 328 then identifies representativeicon 330 in icon library 332 that corresponds to the known subjectmatter and performer of media signal 312.

In one illustrative embodiment, representative icon 330 is a combinationof the corresponding icon within icon library 332, and the performer ofmedia signal 312. Thus, the representative icon would be an amalgamationof the performer, and the visual representation of media signal 312 asidentified from media library 326.

Once representative icon 330 is determined, data processing system 316forwards representative icon 330, as well as an identity of mediaprovider 310 through network 334 to client 320. Network 334 is a networksuch as network 102 of FIG. 1. Client 320 is a client, such as clients110, 112, and 114, of FIG. 1. In one illustrative embodiment, client 320is a web enabled radio, capable of playing signals received from a mediaprovider, such as media provider 310.

Client 320 includes client display 346. Client display 346 is a visualdisplay capable of displaying representative icon 330 to a user ofclient 320. Client display 346 can utilize any known display technology,including for example, but not limited to, liquid crystal, cathode raytube, plasma, liquid crystal on silicon, and digital light processing.

Client 320 receives representative icon 330, as well as an identity ofmedia provider 310 from data processing system 316. Client 320 thendisplays representative icon 330 in conjunction with the identity ofmedia provider 310 on client display 346.

Client 320 receives indication 336 from a user. Indication 336 is aninput from the user indicating that the user would like to receive mediasignal 312 represented by representative icon 330. Indication 336 can bereceived from a “click” of the icon, either from a separate selectiondevice, such as a mouse or remote control, or from touching the icon, ifclient display 346 is a touch sensitive display.

When client 320 receives indication 336 from the user, client 320 playsmedia signal 312 from media provider 310. Client 320 can play mediasignal 312 by receiving media signal 312 directly from media provider310. Alternatively, client 320 could also play media signal 312 byreceiving media signal 312 forwarded from data processing system 316. Inone illustrative embodiment, client 320 receives a radio signal directlyfrom media provider 310.

In one illustrative embodiment, a user can indicate preferred mediasignals, preferred performer, preferred subject matter, or preferredmedia providers, to be stored in preferences 338. Preferences 338 is astorage containing indications of which media providers, such as mediaprovider 310, a user of a client, such as client 320, has indicated asbeing a preferred signal. When data processing system 316 receives mediasignal 312, media signal 312 is first compared to the preferred signalsstored in preferences 338. If media signal 312 is not identified inpreferences 338, its performer and subject matter are identified. Ifthey do not match preferences 338 as well, data processing system 316can prevent representative icon 330 for that media signal from beingsent to client 320.

In another illustrative embodiment, preferences 338 can be a localstorage at client 320. Responsive to receiving representative icon 330,and the identity of media provider 310, a software component on client320 can determine whether media provider 310 is a preferred provider. Ifmedia provider 310 is not identified in preferences 338, client 320would not display representative icon 330 for media signal 312 on clientdisplay 346.

It is appreciated that data processing system 316 can receive aplurality of media signals from different media providers. Dataprocessing system 316 would then retrieve a different representativeicon for each of the media signals. Client 320 could then display aplurality of representative icons, such as representative icon 330, eachof the representative icons corresponding to a different media signal.

Referring now to FIG. 4, a data structure containing reference signalsis shown according to an illustrative embodiment. Data structure 400 canbe a data structure within media library 326 of FIG. 3.

Reference signals 410 are exemplary signals to which a media signal,such as media signal 312 of FIG. 3, can be compared. Reference signal410 can be a wave file, a byte stream, or any other storedrepresentation of a media signal.

Associated with each of reference signals 410 are a performer 412 and asubject matter 414. A data processing system, such as data processingsystem 316 of FIG. 3, accesses data structure 400 to determine one ofreference signals 410 that matches a media signal received by the dataprocessing system, such as media signal 312 of FIG. 3.

Data structure 400 can be any known data structure, including forexample, but not limited to, an array, a lookup table, a linked list, aVlist, a line, a hash table, a tree, and a heap.

Referring now to FIG. 5, a data structure containing reference icons isshown according to an illustrative embodiment. Data structure 500 can bea data structure within icon library 332 of FIG. 3.

Performers and subject matter identified from either metadata, such asmetadata 314 of FIG. 3, or from a media library, such as media library326 of FIG. 3, are compared to reference performers 510 and referencesubject matter 512 to determine representative icon 514.

Associated with reference performers 510 and reference subject matter512 is one of representative icons 514, such as representative icon 330of FIG. 3. A data processing system, such as data processing system 316of FIG. 3 accesses data structure 500 to identify one of representativeicons 514, which corresponds to a performer or subject matter identifiedfrom either metadata, such as metadata 314 of FIG. 3, or from a medialibrary, such as media library 326 of FIG. 3.

Data structure 500 can be any known data structure, including forexample, but not limited to, an array, a lookup table, a linked list, aVlist, a line, a hash table, a tree, and a heap.

Referring now to FIG. 6, a data structure containing preferred mediaproviders for a client is shown according to an illustrative embodiment.Data structure 600 can be a data structure within preferences 338 ofFIG. 3.

A list of preferred media providers is associated with clients 610,which can be client 320 of FIG. 3. A media provider, such as mediaprovider 310 of FIG. 3, is a preferred media provider if a user ofclient 320 of FIG. 3 designates the media provider as such. A user candesignate a media provider as a preferred media provider by any meansknown in the art.

When a data processing system, such as data processing system 316 ofFIG. 3, receives media signal, the provider of that media signal iscompared to preferred media providers 612 of data structure 600. If theprovider of the received media signal is not one of preferred mediaproviders 612, the data processing system can prevent a representativeicon for that media signal from being sent to a client. Preferred mediaproviders 612 can be stored and indexed as, for example but not limitedto, radio frequencies, television frequencies, uniform resource locatoraddresses, domain names, or other unique identifiers of the mediaprovider.

Referring now to FIG. 7, a flowchart showing the processing steps fordetermining a set of characteristics of media signals is shown accordingto an illustrative embodiment. Process 700 is a software processexecuting on the various software components of a data processingsystem, such as data processing system 316 of FIG. 3.

Process 700 begins by receiving a media signal from a media provider(step 710). The media provider, which can be media provider 310 of FIG.3, is a provider of any type such as, audio, visual, or electronicmedia, including for example, but not limited to, a televisionbroadcast, a radio broadcast, a satellite transmission, andtransmissions through cable or optical connections. The media providercan also be the provider of an electronic data transmission, such as alive or streaming data transmission over a network from a network site.The media signal, which can be media signal 312 of FIG. 3, is the signalthat is transmitted by the media provider.

Responsive to receiving the media signal, process 700 then identifieswhether the media signal is an audio signal, or a video signal (step712). Alternatively, process 700 can identify that the media signal iscomprised of both an audio signal and a video signal. Under suchcircumstances, process 700 would identify the signal as containing bothan audio signal (“audio” at step 712) and a video signal (“video” atstep 712). In one illustrative embodiment, a media file comprised ofboth an audio signal and a video signal could be separated into itscomponent audio and video signals.

Responsive to determining that the media signal is an audio signal(“audio” at step 712), process 700 begins audio segmentation andanalysis on the media signal with (step 714). Process 700 canadditionally retrieve program data from the media provider, or otherlocation regarding the content of the media signal (step 716). Process700 can access information regarding the media signal from a networkinformational database. When the media provider is known, a schedule ofknown programming from a network informational database can be retrievedfor the media provider. The performer and the subject matter of mediasignal can then be determined from a network informational database ofthe known media provider.

Audio segmentation and analysis can include the plurality of steps ofprocess 700 determining whether the media signal is speech (step 718),music (step 720), or a non-verbal audio event (step 722). A non-verbalaudio event, can include, but is not limited to, applause, cheering,booing, or other enunciated, or non-enunciated noises that are notclassified as speech or music.

For each of steps 718-728, process 700 extracts various parameters fromthe media signal. The media comparison logic extracts various parametersfrom the media signal. The media signal is typically divided to frames,and each frame undergoes a short-time Fourier transformation, or otherdigital transformation, to create a spectral representation of the mediasignal. Characteristics of the transformed media signal are isolatedfrom each of the transformed media signal frames, and compared tostatistical models of known subject matter and performers to determinesimilarities using known statistical classification methods, such asK-nearest neighbor, Gaussian mixture modeling, support vector machines,vector quantization, hidden Markov modeling, and multivariateauto-regression modeling. A probable subject matter and probableperformer can then be determined.

Using these known modeling and comparison methods, process 700classifies the media stream as speech, music, or a non-verbal audioevent. A non-verbal audio event is a “catch all” classification of themedia signal, wherein the media signal was classified as non-speech(“non-speech” at step 718), and non-music (“non-music” at step 720).

Returning now to step 718, responsive to process 700 identifying themedia signal as speech (“speech” at step 718), process 700 identifiesthe speaker of media signal (step 724). The speaker of the media signalcan be the performer of media signal 312 of FIG. 3. The can also bedetermined from a network informational database of the known mediaprovider.

Process 700 can also perform an automatic speech recognition and topicdetection on the media signal (step 726). Topic detection can beperformed by known methods mentioned above, by tracking repeated andrelated words and phrases. The topic can be the subject matter of mediasignal 312 of FIG. 3. The detection can also be determined from anetwork informational database of the known media provider.

Process 700 can also perform emotion detection on the received mediasignal (step 728). Emotion detection can be performed by known methodsmentioned above, by tracking pitch and volume related features inutterances of the media signal. Emotion of can also be determined from anetwork informational database of the known media provider. Speechrecognition textual output can be used to detect emotion as well, suchas, for example, but not limited to, the detection of certain emotionalwords or phrases.

In one illustrative embodiment, steps 724-728 can be identified inparallel. Determination of the characteristics of the media signal couldthen be more rapidly determined for output to a client.

Responsive to identifying a speaker, topic, or emotion, process 700forwards these identified characteristics of the media signal to an iconidentification or generation process for output of the identifiedcharacteristics (step 730), with the process terminating thereafter. Theidentified characteristics can be embodied in a composite icon that canbe displayed on a media device, such as client 320 of FIG. 3. Thecomposite icon can include the speaker identification, topicidentification, any identified emotion, a singer identification, aidentified song title, and any other event identifying or characteristicevent information relevant to the content of the received media signal.

Returning now to step 718, responsive to determining that the mediasignal is non-speech (“non-speech” at 718), process 700 identifieswhether the media signal is music (step 720). Responsive to identifyingthe media signal as music (“music” at step 720), process 700 performsmusic identification on the media signal (step 732). Musicidentification can include identifying a song (step 734) that iscontained in the media signal, and identifying a singer or artist (step736) that is performing the song in the media signal. The song and theartist can be identified by known methods mentioned above, by isolatingcharacteristics of the transformed media signal, and comparing thosecharacteristics to known samples and statistical models of known subjectmatter and performers to determine similarities using known methods. Thesong and the artist can also be determined from a network informationaldatabase of the known media provider.

Responsive to identifying any music information, such as the song, andartist, process 700 forwards these identified characteristics of themedia signal to an icon identification or generation process for outputof the identified characteristics (step 730), with the processterminating thereafter.

Returning now to step 722, responsive to identifying the media signal asnon-speech (“non-speech” at step 718) and non-music (“non-music” at step720), process 700 identifies the media signal as a non-verbal audioevent (step 722). A non-verbal audio event is a “catch all”classification of the media signal. The non-verbal audio event, caninclude, but is not limited to, applause, cheering, booing, or otherenunciated, or non-enunciated noises that are not classified as speechor music. The non-verbal audio event can be identified by known methodsmentioned above, by isolating characteristics of the transformed mediasignal, and comparing those characteristics to known samples andstatistical models of to determine similarities using known methods.

Responsive to identifying any non-verbal audio event, process 700forwards these identified characteristics of the media signal to an iconidentification or generation process for output of the identifiedcharacteristics (step 730), with the process terminating thereafter. Theidentified characteristics can be output as a composite icon that isgenerated from the characteristics of media signal.

Referring now to FIG. 8, a simplified flowchart showing the processingsteps for providing a parallel visual media station selection is shownaccording to an illustrative embodiment. Process 800 is a softwareprocess executing on the various software components of a dataprocessing system, such as data processing system 316 of FIG. 3.

Process 800 begins by receiving a set of media signals (step 810), suchas media signal 312 of FIG. 3, from a media provider, such as mediaprovider 310 of FIG. 3. The media signal is transmitted by the mediaprovider. In one illustrative embodiment, media signal 312 of FIG. 3 isa radio broadcast, and media provider 310 is the broadcaster of mediasignal 312 of FIG. 3.

Responsive to receiving the set of media signals, process 800 identifiesa subject matter and a performer (step 820). A software component, suchas metadata identifier 322 of FIG. 3, checks for metadata that may beincluded with the media signal. The metadata can include informationabout the media signal, including the subject matter and the identity ofthe performer of that subject matter. If the media signal lacksmetadata, a software component, such as media comparison logic 324 ofFIG. 3, can compare the media signal to reference signals stored in amedia library, such as media library 326 of FIG. 3. If the media signalis found to match one of the reference signals, then the subject matterand performer associated with the reference signal is utilized as thesubject matter and performer of the media signal. Otherwise, statisticalmethods may be applied to identify the performer and subject matter.

Responsive to identifying the performer and subject matter of the mediasignal, process 800 identifies a set of icons (step 830). A softwarecomponent, such as icon identification logic 328 of FIG. 3, identifies avisual indicator to represent the subject matter and performer for eachof the set of received media signals. The software component receivesthe identified subject matter and performer of the media signal. Thesoftware component then identifies a representative icon in an iconlibrary that corresponds to the known subject matter and performer ofthe media signal.

Responsive to identifying the icons, process 800 forwards the set oficons to a client (step 840 ), with the process terminating thereafter.

Referring now to FIG. 9, a detailed flowchart showing the processingsteps for providing a parallel visual media station selection is shownaccording to an illustrative embodiment. Process 900 is a softwareprocess executing on the various software components of a dataprocessing system, such as data processing system 316 of FIG. 3. Process900 is a more detailed depiction of process 800 of FIG. 8.

Process 900 begins by receiving a media signal (step 910), such as mediasignal 312 of FIG. 3, from a media provider, such as media provider 310of FIG. 3. The media signal is transmitted by the media provider. In oneillustrative embodiment, media signal 312 of FIG. 3 is a radiobroadcast, and media provider 310 is the broadcaster of media signal 312of FIG. 3.

Responsive to receiving the media signal, process 900 identifies whetherthe provider of the media signal is a preferred provider (step 912). Auser can indicate preferred media signals, or preferred media providers,to be stored in a storage, such as preferences 338 of FIG. 3. TheReceived media signals are compared to the preferred signals stored inthe storage. Preferred media providers can be stored and indexed as, forexample but not limited to, radio frequencies, television frequencies,uniform resource locator addresses, domain names, or other uniqueidentifiers of the media provider.

Responsive to process 900 not identifying that the provider of the mediasignal as a preferred provider (“no” at step 912), process 900 does notsend an representative icon for that media signal to the client (step914), with the process terminating thereafter. Because the provider ofthe media signal was not identified from the preferred providers, theclient has inherently chosen not to receive a visual indication of thecontent of the received media signal.

Responsive to process 900 identifying that the provider of the mediasignal is a preferred provider (“yes” at step 912), process 900 nextidentifies whether the media signal contains metadata identifying theperformer and subject matter within the media signal (step 916). Themetadata can include information about the media signal, including thesubject matter and the identity of the performer of that subject matter.In one illustrative example, metadata can be digital video broadcastingservice information (DVB-SI).

Responsive to process 900 not identifying that the media signal containsmetadata identifying the performer and subject matter within the mediasignal (“no” at step 916), process 900 identifies whether the mediasignal matches a matching reference signal (step 918). When a mediasignal lacks metadata, a software component, such as media comparisonlogic 324 of FIG. 3, compares the media signal to a set of referencesignals stored in a media library, such as media library 326 of FIG. 3.

Responsive to process 900 identifying that the media signal matches amatches a reference signal (“yes” step 918), process 900 identifies aperformer and subject matter associated with the matching referencesignal (Step 920). Each reference signal has an associated subjectmatter and performer. When a media signal is found to match one of thereference signals, then the subject matter and performer associated withthe reference signal is utilized as the subject matter and performer ofmedia signal. Process 900 then continues to process step 922.

Retuning now to step 918, responsive to process 900 not identifying thatthe media signal matches a matches a reference signal (“no” step 918),process 900 identifies the performer and subject matter usingstatistical classification techniques (step 921). Process 900 thencontinues to process step 922.

Process 900 then identifies a representative icon from the performer andsubject matter (step 922). A software component, such as iconidentification logic 328 of FIG. 3, identifies a visual indicator torepresent the subject matter and performer for each of the set ofreceived media signals. The software component receives the identifiedsubject matter and performer of the media signal. The software componentthen identifies a representative icon in an icon library thatcorresponds to the known subject matter and performer of the mediasignal.

Responsive to identifying the representative icon, process 900 forwardsthe set of icons to a client (step 924), with the process terminatingthereafter.

Returning now to step 916, if process 900 does identify metadataidentifying the performer and subject matter, process 900 proceeds tostep 922, to identify a representative icon from the performer andsubject matter. Process 900 then proceeds according to the process stepsas described above.

Thus, the illustrative embodiments describe a computer implementedmethod in a data processing system, and a computer program product forvisually selecting a media signal. A set of media signals is receivedfrom a set of media providers. A subject matter and a performer of thesubject matter are then identified for at least one of the set of themedia signals. A set of icons is then identified. Each of the set oficons corresponds to at least one of media signals. The set of icons andthe set of media providers are then forwarded to a client media player.

The invention can take the form of an entirely hardware embodiment, anentirely software embodiment or an embodiment containing both hardwareand software elements. In a preferred embodiment, the invention isimplemented in software, which includes but is not limited to firmware,resident software, microcode, etc.

Furthermore, the invention can take the form of a computer programproduct accessible from a computer-usable or computer-readable mediumproviding program code for use by or in connection with a computer orany instruction execution system. For the purposes of this description,a computer-usable or computer readable medium can be any tangibleapparatus that can contain, store, communicate, propagate, or transportthe program for use by or in connection with the instruction executionsystem, apparatus, or device.

The medium can be an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system (or apparatus or device) or apropagation medium. Examples of a computer-readable medium include asemiconductor or solid state memory, magnetic tape, a removable computerdiskette, a random access memory (RAM), a read-only memory (ROM), arigid magnetic disk, and an optical disk. Current examples of opticaldisks include compact disk-read only memory (CD-ROM), compactdisk-read/write (CD-R/W), and DVD.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution.

Input/output or I/O devices (including but not limited to keyboards,displays, pointing devices, etc.) can be coupled to the system eitherdirectly or through intervening I/O controllers.

Network adapters may also be coupled to the system to enable the dataprocessing system to become coupled to other data processing systems orremote printers or storage devices through intervening private or publicnetworks. Modems, such as, a cable modem and Ethernet cards, are just afew of the currently available types of network adapters.

The description of the present invention has been presented for purposesof illustration and description, and is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the art. Theembodiment was chosen and described in order to best explain theprinciples of the invention, the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

1. A computer implemented method in a data processing system forselecting a media signal, the method comprising: receiving a set ofmedia signals from a set of media providers; identifying at least one ofa subject matter and a performer of the subject matter for at least oneof the set of media signals; responsive to identifying the at least oneof the subject matter and the performer, identifying a set of icons,each of the set of icons corresponding to at least one of the subjectmatter and the performer of the at least one of the set of mediasignals; responsive to identifying the set of icons, forwarding a set ofdisplayed icons and a set of displayed media providers to a client mediaplayer, the set of displayed icons being selected from the set of icons,wherein each of the set of displayed media providers corresponds to bothone of the set of displayed icons and to one of the set of mediaproviders.
 2. The computer implemented method of claim 1, furthercomprising: receiving an indication of a selected icon from the clientmedia player, the selected icon being one of the set of displayed icons;and responsive to receiving a selection of the displayed icon,instructing the client media player to play a selected media signal ofthe set of media signals, the selected media signal corresponding to theselected icon.
 3. The computer implemented method of claim 1, whereinthe step of identifying the subject matter and the performer of thesubject matter for at least one of the set of media signals comprises:extracting a set of features from the at least one of the set of mediasignals; isolating at least one characteristic from the set of features;comparing the at least one characteristic to at least one of astatistical model of known subject matter and a statistical model ofknown performers; and identifying similarities between the at least onecharacteristic to the statistical model of known subject matter and thestatistical model of known performers to determine at least one of aprobable subject matter and a probable performer, wherein the subjectmatter is the probable subject matter and the performer is the probableperformer.
 4. The computer implemented method of claim 3, furthercomprising: extracting the set of features from the at least one of theset of media signals utilizing a short-time Fourier transformation; andidentifying similarities between the at least one characteristic to theat least one of the statistical model of known subject matter and thestatistical model of known performers to determine the probable subjectmatter and the probable performer, wherein the similarities areidentified using a statistical classification method selected from thegroup consisting of a K-nearest neighbor, a Gaussian mixture modeling, asupport vector machines, a vector quantization, a hidden Markovmodeling, a multivariate auto-regression modeling, and combinationsthereof.
 5. The computer implemented method of claim 1, wherein the setof media providers is a set of preferred media providers, the methodfurther comprising: identifying the set of preferred media providers;and responsive to identifying the set of icons, forwarding only a set ofpreferred displayed icons and only a set of preferred displayed mediaproviders to the client media player, the set of preferred displayedicons being selected from the set of icons, wherein each of the set ofpreferred displayed media providers corresponds to both one of the setof preferred displayed icons and to one of the set of preferred mediaproviders.
 6. The computer implemented method of claim 1, wherein thestep of identifying the subject matter and the performer of the subjectmatter for at least one of the set of media signals comprises:identifying a metadata for the at least one of the set of media signals,the metadata indicating the subject matter and the performer of thesubject matter.
 7. The computer implemented method of claim 1, whereinthe step of identifying the subject matter and the performer of thesubject matter for at least one of the set of media signals comprises:comparing the at least one of the set of media signals with a set ofexemplary media signals in a media library to determine a matching mediasignal; identifying a matching subject matter and a matching performerof the matching subject matter corresponding to the matching mediasignal; identifying the subject matter as being the matching subjectmatter and identifying the performer of the subject matter as being thematching performer.
 8. The computer implemented method of claim 1,wherein the step of identifying the subject matter and the performer ofthe subject matter for the at least one of the set of media signalscomprises: serially identifying and updating the subject matter and theperformer of the subject matter for the at least one of the set of mediasignals.
 9. The computer implemented method of claim 1, the methodfurther comprising: responsive to receiving a set of media signals froma set of media providers, applying a speech recognition to convert theset of media signals to text; and identifying at least one of a subjectmatter and a performer of the subject matter for at least one of the setof media signals, wherein the subject matter and the performer areidentified by applying text analysis and topic detection methods to thetext.
 10. The computer implemented method of claim 1, the method furthercomprising: identifying at least one of a subject matter and a performerof the subject matter for at least one of the set of media signals byaccessing information regarding the media signal from a networkinformational database.
 11. A computer program product comprising: acomputer readable medium having a computer usable program code forselecting a media signal, the computer program product comprising:computer usable program code for receiving a set of media signals from aset of media providers; computer usable program code for identifying atleast one of a subject matter and a performer of the subject matter forat least one of the set of media signals; computer usable program code,responsive to identifying the at least one of the subject matter and theperformer, for identifying a set of icons, each of the set of iconscorresponding to at least one of the subject matter and the performer ofthe at least one of the set of media signals; computer usable programcode, responsive to identifying the set of icons, for forwarding a setof displayed icons and a set of displayed media providers to a clientmedia player, the set of displayed icons being selected from the set oficons, wherein each of the set of displayed media providers correspondsto both one of the set of displayed icons and to one of the set of mediaproviders.
 12. The computer program product of claim 11, furthercomprising: computer usable program code for receiving an indication ofa selected icon from the client media player, the selected icon beingone of the set of displayed icons; and computer usable program code,responsive to receiving a selection of the displayed icon, forinstructing the client media player to play a selected media signal ofthe set of media signals, the selected media signal corresponding to theselected icon.
 13. The computer program product of claim 11, wherein thecomputer usable program code for identifying the subject matter and theperformer of the subject matter for at least one of the set of mediasignals comprises: computer usable program code for extracting a set offeatures from at least one of the set of media signals; computer usableprogram code for isolating at least one characteristic from the set offeatures; computer usable program code for comparing the at least onecharacteristic to at least one of a statistical model of known subjectmatter and a statistical model of known performers; and computer usableprogram code for identifying similarities between the at least onecharacteristic to the statistical model of known subject matter and thestatistical model of known performers to determine at least one of aprobable subject matter and a probable performer, wherein the subjectmatter is the probable subject matter and the performer is the probableperformer.
 14. The computer program product of claim 13, furthercomprising: computer usable program code for extracting the set offeatures from the at least one of the set of media signals utilizing ashort-time Fourier transformation; and computer usable program code foridentifying similarities between the at least one characteristic to theat least one of the statistical model of known subject matter and thestatistical model of known performers to determine the probable subjectmatter and the probable performer, wherein the similarities areidentified using a statistical classification method selected from thegroup consisting of a K-nearest neighbor, a Gaussian mixture modeling, asupport vector machines, a vector quantization, a hidden Markovmodeling, a multivariate auto-regression modeling, and combinationsthereof.
 15. The computer program product of claim 11, wherein thecomputer usable program code for identifying the subject matter and theperformer of the subject matter for at least one of the set of mediasignals comprises: computer usable program code for identifying ametadata for the at least one of the set of media signals, the metadataindicating the subject matter and the performer of the subject matter.16. The computer program product of claim 11, wherein the computerusable program code for identifying the subject matter and the performerof the subject matter for at least one of the set of media signalscomprises: computer usable program code for comparing the at least oneof the set of media signals with a set of exemplary media signals in amedia library to determine a matching media signal; computer usableprogram code for identifying a matching subject matter and a matchingperformer of the matching subject matter corresponding to the matchingmedia signal; and computer usable program code for identifying thesubject matter as being the matching subject matter and identifying theperformer of the subject matter as being the matching performer.
 17. Thecomputer program product of claim 11, wherein the computer usableprogram code for identifying the subject matter and the performer of thesubject matter for the at least one of the set of media signalscomprises: computer usable program code for serially identifying andupdating the subject matter and the performer of the subject matter forthe at least one of the set of media signals.
 18. The computer programproduct of claim 11 further comprising: computer usable program code,responsive to receiving a set of media signals from a set of mediaproviders, for applying a speech recognition to convert the set of mediasignals to text; and computer usable program code for identifying atleast one of a subject matter and a performer of the subject matter forat least one of the set of media signals, wherein the subject matter andthe performer are identified by applying text analysis and topicdetection methods to the text.
 19. The computer program product of claim11 further comprising: computer usable program code for identifying atleast one of a subject matter and a performer of the subject matter forat least one of the set of media signals by accessing informationregarding the media signal from a network informational database.
 20. Adata processing system for selecting a media signal, the data processingsystem comprising: a bus; a storage device connected to the bus, whereinthe storage device contains a computer usable code; and a processingunit connected to the bus, wherein the processing unit executes thecomputer usable program code to receive a set of media signals from aset of media providers, to identify at least one of a subject matter anda performer of the subject matter for at least one of a set of mediasignals, responsive to identifying the at least one of the subjectmatter and the performer, to identify a set of icons, each of the set oficons corresponding to at least one of the at least one of the subjectmatter and the performer of the at least one of the set of mediasignals, and responsive to identifying the set of icons, to forward aset of displayed icons and a set of displayed media providers to aclient media player, the set of displayed icons being selected from theset of icons, wherein each of the set of displayed media providerscorresponds to both one of the set of displayed icons and to one of theset of media providers.
 21. The data processing system of claim 20,wherein the processing unit further executes the computer usable programcode: to receive an indication of a selected icon from the client mediaplayer, the selected icon being one of the set of displayed icons, andresponsive to receiving a selection of the displayed icon, to instructthe client media player to play a selected media signal of the set ofmedia signals, the selected media signal corresponding to the selectedicon.
 22. The data processing system of claim 20, wherein the processingunit executing the computer usable program code to identify the subjectmatter and the performer of the subject matter for at least one of theset of media signals further comprises the processing unit executing thecomputer usable program code: to extract a set of features from the atleast one of the set of media signals, to isolate the at least onecharacteristic from the set of features, to compare the at least onecharacteristic to at least one of a statistical model of known subjectmatter and a statistical model of known performers, and to identifysimilarities between the at least one characteristic to the statisticalmodel of known subject matter and the statistical model of knownperformers to determine at least one of a probable subject matter and aprobable performer, wherein the subject matter is the probable subjectmatter and the performer is the probable performer.
 23. The dataprocessing system of claim 20, wherein the processing unit furtherexecutes the computer usable program code: to extract the set offeatures from the at least one of the set of media signals utilizing ashort-time Fourier transformation, and to identify similarities betweenthe at least one characteristic to the at least one of the statisticalmodel of known subject matter and the statistical model of knownperformers to determine the probable subject matter and the probableperformer, wherein the similarities are identified using a statisticalclassification method selected from the group consisting of a K-nearestneighbor, a Gaussian mixture modeling, a support vector machines, avector quantization, a hidden Markov modeling, a multivariateauto-regression modeling, and combinations thereof.
 24. A computerimplemented method in a data processing system for selecting a mediasignal, the method comprising: receiving a set of displayed icons and aset of displayed media providers; responsive to receiving the set ofdisplayed icons and the set of displayed media providers, displaying theset of icons and the set of displayed media providers; receiving anindication of a selected icon, the selected icon being one of the set ofdisplayed icons; receiving an instruction to play a selected mediasignal, the selected media signal corresponding to the selected icon;and playing the selected media signal.
 25. The computer implementedmethod of claim 24, wherein the step of receiving an instruction to playthe selected media signal comprises one of: receiving an instruction toreceive the selected media signal directly from a selected mediaprovider; or receiving an instruction to receive the selected mediasignal from a visual media service provider.